package com.designpattern.createpattern.demo06;

/**
 * @Description:建造者模式
 * 一般应用于创建对象并且需要对属性进行校验，如果校验不通过需要抛出异常
 * 建造者主要解决参数过多、参数检验、控制对象创建后不可变的问题
 */
public class Main {
    public static void main(String[] args) {
        // 这段代码会抛出IllegalArgumentException，因为minIdle>maxIdle
        ResourcePoolConfig config = new ResourcePoolConfig.Builder()
                .setName("dbconnectionpool")
                .setMaxTotal(16)
                .setMaxIdle(10)
                .setMinIdle(12)
                .build();
    }
}
